package com.jbm.jsm.iface;

import com.jbm.core.iface.IAcross;
import org.hibernate.annotations.*;
import org.hibernate.annotations.Cache;

import javax.persistence.*;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;

/**
 * Created by Administrator on 2017/9/26.
 */
@Entity
@Table(name = "user", schema = "", catalog = "jsm")
@org.hibernate.annotations.Entity(dynamicUpdate=true,dynamicInsert=true, optimisticLock = OptimisticLockType.VERSION )
public class UserEntity extends IAcross
{
    @Transient
    public String agentAccount;
    @Transient
    public String roomCode;
    private int userId;
    private String mobile; //
    private String nickname;
    private String password;
    private String qq;
    private String invitationCode; //邀请码
    private String account; //账号
    private String niceAccount; //靓号
    private Timestamp niceExpiredate; //靓号过期时间 用不到
    private String workPassword;//二级密码
    private String realname; //姓名
    private String idnumber;//身份证号
    private String logo;//头像
    private Timestamp lastLogintime;//最后一次登录时间
    private String lastIp; //最后一次登录ip mac及地址
    private Timestamp createDate;//注册时间
    private BigDecimal jinmi;//金米余额
    private Integer mibao;//米宝余额
    private BigDecimal deposit;//保证金余额
       private Integer status;//状态
    private String auditMemo;//注册审核备注
    private Integer prevId; //邀请人id
    private Integer loginable; //可登录状态
    private Integer iscert;//是否实名认证 1是 , 0 null否
    private Integer identity; //身份 1刷手 2商家 3管理
    private Integer isdummy; //是否假人
    private Timestamp dummyExpire; // 假人过期时间
    private Integer isexamss; //是否通过刷手考试
    private Timestamp examssDate; //  刷手考试通过时间
    private Integer isexamsj; //是否通过商家考试
    private Timestamp examsjDate; //  商家考试通过时间
    private Integer isexamgl; //是否通过管理考试
    private Timestamp examglDate;//  管理考试通过时间
    private Integer isexamtbk;//是否通过淘宝客考试
    private Timestamp examtbkDate;//  淘宝客考试通过时间
    private Integer fId; //马甲颜色 1紫马 2橙马 3皇马 4红马 5蓝马
    private Integer version;
    private String mac; //mac地址
    private String city;//城市
    private String region;//客户端版本
    private List<AuthorityEntity> authorityList;//权限列表
    private List<UserEntity> userList; //用于取人员列表
    private String vcode; //验证码
    private RoomEntity roomEntity; //团组实体
    private String priKey; //  前台无用
    private BigDecimal jinmiLock; //冻结金米余额
    private BigDecimal userpayIce;//冻结的垫付款
    private BigDecimal depositIce; //冻结的佣金
    private UserEntity prevUser; //邀请人实体类
    private Integer ismanaged;//前台无用
    private String birthday;//生日
    private Integer sex;//性别 1男 2女
    private String nation;//民族
    private String address;//住址
    private String organization;//身份证签发机关
    private String validDateStart;
    private String validDateEnd;
    private String identitys; //团名-组名-身份
    private Integer roomId;//房间id
    private Integer promotd; //推广多少单
    private Integer promotb; //推广获得多少米宝
    private Integer rewardb;//注册奖励多少米宝
    private Integer isBankCert; //是否银行卡认证
    private UserEntity roomMastEntity; //房主信息
    private boolean isonline;//是否在线
    private int isadmin;//是否平台管理员
    private String authority; //权限
    private Integer isblack;//是否进黑名单
    private RoomEntity  houseEntity; //房间实体
    private String reName; //房间名片
    private Integer agentId;
    private Integer agentLvl;
    private String agentPrevLvls;
    private String bizNo; //实名认证唯一标示
    private String agrNo; //招商银行客户签约号


    private BigDecimal mgtCharge; //管理费

    public UserEntity()
    {
        super();
    }

    public UserEntity(IAcross ia)
    {
        super(ia);
    }

    public UserEntity(String mobile,String invitation_code,String vcode,String nickname,String password, String  qq,String region)
    {
        this.mobile=mobile;
        this.invitationCode=invitation_code;
        this.nickname=nickname;
        this.password=password;
        this.qq=qq;
        this.vcode=vcode;
        this.region=region;
    }

    public UserEntity(String workPassword)
    {
        this.workPassword=workPassword;
    }

    public UserEntity(String idnumber,String realname, String validDateEnd, String validDateStart, String organization, String address, String nation, Integer sex, String birthday) {
        this.validDateEnd = validDateEnd;
        this.validDateStart = validDateStart;
        this.organization = organization;
        this.address = address;
        this.nation = nation;
        this.sex = sex;
        this.birthday = birthday;
      this.realname=realname;
        this.idnumber=idnumber;


    }

    public void setIsblack(int isblack) {
        this.isblack = isblack;
    }

    @Id
    @Column(name = "user_id")
    @GeneratedValue
    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    @Basic
    @Column(name = "mobile")
    @GeneratedValue
    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    @Basic
    @Column(name = "nickname")
    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    @Basic
    @Column(name = "password")
    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Basic
    @Column(name = "qq")
    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    @Basic
    @Column(name = "invitation_code")
    public String getInvitationCode() {
        return invitationCode;
    }

    public void setInvitationCode(String invitationCode) {
        this.invitationCode = invitationCode;
    }

    @Basic
    @Column(name = "account")
    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    @Basic
    @Column(name = "nice_account")
    public String getNiceAccount() {
        return niceAccount;
    }

    public void setNiceAccount(String niceAccount) {
        this.niceAccount = niceAccount;
    }

    @Basic
    @Column(name = "nice_expiredate")
    public Timestamp getNiceExpiredate() {
        return niceExpiredate;
    }

    public void setNiceExpiredate(Timestamp niceExpiredate) {
        this.niceExpiredate = niceExpiredate;
    }

    @Basic
    @Column(name = "work_password")
    public String getWorkPassword() {
        return workPassword;
    }

    public void setWorkPassword(String workPassword) {
        this.workPassword = workPassword;
    }

    @Basic
    @Column(name = "realname")
    public String getRealname() {
        return realname;
    }

    public void setRealname(String realname) {
        this.realname = realname;
    }

    @Basic
    @Column(name = "idnumber")
    public String getIdnumber() {
        return idnumber;
    }

    public void setIdnumber(String idnumber) {
        this.idnumber = idnumber;
    }

    @Basic
    @Column(name = "logo")
    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    @Basic
    @Column(name = "last_logintime")
    public Timestamp getLastLogintime() {
        return lastLogintime;
    }

    public void setLastLogintime(Timestamp lastLogintime) {
        this.lastLogintime = lastLogintime;
    }

    @Basic
    @Column(name = "last_ip")
    public String getLastIp() {
        return lastIp;
    }

    public void setLastIp(String lastIp) {
        this.lastIp = lastIp;
    }

    @Basic
    @Column(name = "create_date")
    public Timestamp getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Timestamp createDate) {
        this.createDate = createDate;
    }

    @Basic
    @Column(name = "jinmi")
    public BigDecimal getJinmi() {
        return jinmi;
    }

    public void setJinmi(BigDecimal jinmi) {
        this.jinmi = jinmi;
    }

    @Basic
    @Column(name = "mibao")
    public Integer getMibao() {
        return mibao;
    }

    public void setMibao(Integer mibao) {
        this.mibao = mibao;
    }

    @Basic
    @Column(name = "deposit")
    public BigDecimal getDeposit() {
        return deposit;
    }

    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    @Basic
    @Column(name = "status")
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Basic
    @Column(name = "audit_memo")
    public String getAuditMemo() {
        return auditMemo;
    }

    public void setAuditMemo(String auditMemo) {
        this.auditMemo = auditMemo;
    }

    @Basic
    @Column(name = "prev_Id")
    public Integer getPrevId() {
        return prevId;
    }

    public void setPrevId(Integer prevId) {
        this.prevId = prevId;
    }

    @Basic
    @Column(name = "loginable")
    public Integer getLoginable() {
        return loginable;
    }

    public void setLoginable(Integer loginable) {
        this.loginable = loginable;
    }

    @Basic
    @Column(name = "iscert")
    public Integer getIscert() {
        return iscert;
    }

    public void setIscert(Integer iscert) {
        this.iscert = iscert;
    }

    @Basic
    @Column(name = "identity")
    public Integer getIdentity() {
        return identity;
    }

    public void setIdentity(Integer identity) {
        this.identity = identity;
    }

    @Basic
    @Column(name = "isdummy")
    public Integer getIsdummy() {
        return isdummy;
    }

    public void setIsdummy(Integer isdummy) {
        this.isdummy = isdummy;
    }

    @Basic
    @Column(name = "dummy_expire")
    public Timestamp getDummyExpire() {
        return dummyExpire;
    }

    public void setDummyExpire(Timestamp dummyExpire) {
        this.dummyExpire = dummyExpire;
    }

    @Basic
    @Column(name = "isexamss")
    public Integer getIsexamss() {
        return isexamss;
    }

    public void setIsexamss(Integer isexamss) {
        this.isexamss = isexamss;
    }

    @Basic
    @Column(name = "examss_date")
    public Timestamp getExamssDate() {
        return examssDate;
    }

    public void setExamssDate(Timestamp examssDate) {
        this.examssDate = examssDate;
    }

    @Basic
    @Column(name = "isexamsj")
    public Integer getIsexamsj() {
        return isexamsj;
    }

    public void setIsexamsj(Integer isexamsj) {
        this.isexamsj = isexamsj;
    }

    @Basic
    @Column(name = "examsj_date")
    public Timestamp getExamsjDate() {
        return examsjDate;
    }

    public void setExamsjDate(Timestamp examsjDate) {
        this.examsjDate = examsjDate;
    }

    @Basic
    @Column(name = "isexamgl")
    public Integer getIsexamgl() {
        return isexamgl;
    }

    public void setIsexamgl(Integer isexamgl) {
        this.isexamgl = isexamgl;
    }

    @Basic
    @Column(name = "examgl_date")
    public Timestamp getExamglDate() {
        return examglDate;
    }

    public void setExamglDate(Timestamp examglDate) {
        this.examglDate = examglDate;
    }

    @Basic
    @Column(name = "isexamtbk")
    public Integer getIsexamtbk() {
        return isexamtbk;
    }

    public void setIsexamtbk(Integer isexamtbk) {
        this.isexamtbk = isexamtbk;
    }

    @Basic
    @Column(name = "examtbk_date")
    public Timestamp getExamtbkDate() {
        return examtbkDate;
    }

    public void setExamtbkDate(Timestamp examtbkDate) {
        this.examtbkDate = examtbkDate;
    }

    @Basic
    @Column(name = "f_id")
    public Integer getfId() {
        return fId;
    }

    public void setfId(Integer fId) {
        this.fId = fId;
    }

    @Basic
    @Version
    @Column(name = "version")
    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Transient
    public String getMac() {
        return mac;
    }

    public void setMac(String mac) {
        this.mac = mac;
    }

    @Transient
    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    @Basic
    @Column(name = "region")
    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    @Transient
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
    public List<AuthorityEntity> getAuthorityList() {
        return authorityList;
    }

    public void setAuthorityList(List<AuthorityEntity> authorityList) {
        this.authorityList = authorityList;
    }

    @Transient
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
    public List<UserEntity> getUserList() {
        return userList;
    }

    public void setUserList(List<UserEntity> userList) {
        this.userList = userList;
    }

    @Transient
    public String getVcode() {
        return vcode;
    }

    public void setVcode(String vcode) {
        this.vcode = vcode;
    }

    @Transient
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
    public RoomEntity getRoomEntity() {
        return roomEntity;
    }

    public void setRoomEntity(RoomEntity roomEntity) {
        this.roomEntity = roomEntity;
    }

    @Basic
    @Column(name = "pri_key")
    public String getPriKey() {
        return priKey;
    }

    public void setPriKey(String priKey) {
        this.priKey = priKey;
    }

    @Basic
    @Column(name = "jinmi_lock")
    public BigDecimal getJinmiLock() {
        return jinmiLock;
    }

    public void setJinmiLock(BigDecimal jinmiLock) {
        this.jinmiLock = jinmiLock;
    }

@Transient
    public BigDecimal getUserpayIce() {
        return userpayIce;
    }

    public void setUserpayIce(BigDecimal userpayIce) {
        this.userpayIce = userpayIce;
    }

    @Transient
    public BigDecimal getDepositIce() {
        return depositIce;
    }

    public void setDepositIce(BigDecimal depositIce) {
        this.depositIce = depositIce;
    }

    @Transient
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
    public UserEntity getPrevUser() {
        return prevUser;
    }

    public void setPrevUser(UserEntity prevUser) {
        this.prevUser = prevUser;
    }

    @Basic
    @Column(name = "ismanaged")
    public Integer getIsmanaged() {
        return ismanaged;
    }

    public void setIsmanaged(Integer ismanaged) {
        this.ismanaged = ismanaged;
    }

    @Basic
    @Column(name = "birthday")
    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    @Basic
    @Column(name = "sex")
    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    @Basic
    @Column(name = "nation")
    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    @Basic
    @Column(name = "address")
    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Basic
    @Column(name = "organization")
    public String getOrganization() {
        return organization;
    }

    public void setOrganization(String organization) {
        this.organization = organization;
    }

    @Basic
    @Column(name = "valid_date_start")
    public String getValidDateStart() {
        return validDateStart;
    }

    public void setValidDateStart(String validDateStart) {
        this.validDateStart = validDateStart;
    }

    @Basic
    @Column(name = "valid_date_end")
    public String getValidDateEnd() {
        return validDateEnd;
    }

    public void setValidDateEnd(String validDateEnd) {
        this.validDateEnd = validDateEnd;
    }

    @Transient
    public String getIdentitys() {
        return identitys;
    }

    public void setIdentitys(String identitys) {
        this.identitys = identitys;
    }

    @Basic
    @Column(name = "room_Id")
    public Integer getRoomId() {
        return roomId;
    }

    public void setRoomId(Integer roomId) {
        this.roomId = roomId;
    }

    @Transient
    public Integer getPromotd() {
        return promotd;
    }

    public void setPromotd(Integer promotd) {
        this.promotd = promotd;
    }

    @Transient
    public Integer getPromotb() {
        return promotb;
    }

    public void setPromotb(Integer promotb) {
        this.promotb = promotb;
    }

    @Transient
    public Integer getRewardb() {
        return rewardb;
    }

    public void setRewardb(Integer rewardb) {
        this.rewardb = rewardb;
    }

    @Basic
    @Column(name = "isBankCert")
    public Integer getIsBankCert() {
        return isBankCert;
    }

    public void setIsBankCert(Integer isBankCert) {
        this.isBankCert = isBankCert;
    }

    @Transient
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
    public UserEntity getRoomMastEntity() {
        return roomMastEntity;
    }

    public void setRoomMastEntity(UserEntity roomMastEntity) {
        this.roomMastEntity = roomMastEntity;
    }

    @Transient
    public boolean isIsonline() {
        return isonline;
    }

    public void setIsonline(boolean isonline) {
        this.isonline = isonline;
    }

    @Basic
    @Column(name = "isadmin")
    public int getIsadmin() {
        return isadmin;
    }

    public void setIsadmin(int isadmin) {
        this.isadmin = isadmin;
    }

    @Basic
    @Column(name = "authority")
    public String getAuthority() {
        return authority;
    }

    public void setAuthority(String authority) {
        this.authority = authority;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        UserEntity that = (UserEntity) o;

        if (isadmin != that.isadmin) return false;
        if (userId != that.userId) return false;
        if (account != null ? !account.equals(that.account) : that.account != null) return false;
        if (address != null ? !address.equals(that.address) : that.address != null) return false;
        if (auditMemo != null ? !auditMemo.equals(that.auditMemo) : that.auditMemo != null) return false;
        if (authority != null ? !authority.equals(that.authority) : that.authority != null) return false;
        if (birthday != null ? !birthday.equals(that.birthday) : that.birthday != null) return false;
        if (createDate != null ? !createDate.equals(that.createDate) : that.createDate != null) return false;
        if (deposit != null ? !deposit.equals(that.deposit) : that.deposit != null) return false;
        if (dummyExpire != null ? !dummyExpire.equals(that.dummyExpire) : that.dummyExpire != null) return false;
        if (examglDate != null ? !examglDate.equals(that.examglDate) : that.examglDate != null) return false;
        if (examsjDate != null ? !examsjDate.equals(that.examsjDate) : that.examsjDate != null) return false;
        if (examssDate != null ? !examssDate.equals(that.examssDate) : that.examssDate != null) return false;
        if (examtbkDate != null ? !examtbkDate.equals(that.examtbkDate) : that.examtbkDate != null) return false;
        if (fId != null ? !fId.equals(that.fId) : that.fId != null) return false;
        if (identity != null ? !identity.equals(that.identity) : that.identity != null) return false;
        if (idnumber != null ? !idnumber.equals(that.idnumber) : that.idnumber != null) return false;
        if (invitationCode != null ? !invitationCode.equals(that.invitationCode) : that.invitationCode != null)
            return false;
        if (isBankCert != null ? !isBankCert.equals(that.isBankCert) : that.isBankCert != null) return false;
        if (iscert != null ? !iscert.equals(that.iscert) : that.iscert != null) return false;
        if (isdummy != null ? !isdummy.equals(that.isdummy) : that.isdummy != null) return false;
        if (isexamgl != null ? !isexamgl.equals(that.isexamgl) : that.isexamgl != null) return false;
        if (isexamsj != null ? !isexamsj.equals(that.isexamsj) : that.isexamsj != null) return false;
        if (isexamss != null ? !isexamss.equals(that.isexamss) : that.isexamss != null) return false;
        if (isexamtbk != null ? !isexamtbk.equals(that.isexamtbk) : that.isexamtbk != null) return false;
        if (ismanaged != null ? !ismanaged.equals(that.ismanaged) : that.ismanaged != null) return false;
        if (jinmi != null ? !jinmi.equals(that.jinmi) : that.jinmi != null) return false;
        if (jinmiLock != null ? !jinmiLock.equals(that.jinmiLock) : that.jinmiLock != null) return false;
        if (lastIp != null ? !lastIp.equals(that.lastIp) : that.lastIp != null) return false;
        if (lastLogintime != null ? !lastLogintime.equals(that.lastLogintime) : that.lastLogintime != null)
            return false;
        if (loginable != null ? !loginable.equals(that.loginable) : that.loginable != null) return false;
        if (logo != null ? !logo.equals(that.logo) : that.logo != null) return false;
        if (mibao != null ? !mibao.equals(that.mibao) : that.mibao != null) return false;
        if (mobile != null ? !mobile.equals(that.mobile) : that.mobile != null) return false;
        if (nation != null ? !nation.equals(that.nation) : that.nation != null) return false;
        if (niceAccount != null ? !niceAccount.equals(that.niceAccount) : that.niceAccount != null) return false;
        if (niceExpiredate != null ? !niceExpiredate.equals(that.niceExpiredate) : that.niceExpiredate != null)
            return false;
        if (nickname != null ? !nickname.equals(that.nickname) : that.nickname != null) return false;
        if (organization != null ? !organization.equals(that.organization) : that.organization != null) return false;
        if (password != null ? !password.equals(that.password) : that.password != null) return false;
        if (prevId != null ? !prevId.equals(that.prevId) : that.prevId != null) return false;
        if (priKey != null ? !priKey.equals(that.priKey) : that.priKey != null) return false;
        if (qq != null ? !qq.equals(that.qq) : that.qq != null) return false;
        if (realname != null ? !realname.equals(that.realname) : that.realname != null) return false;
        if (region != null ? !region.equals(that.region) : that.region != null) return false;
        if (roomId != null ? !roomId.equals(that.roomId) : that.roomId != null) return false;
        if (sex != null ? !sex.equals(that.sex) : that.sex != null) return false;
        if (status != null ? !status.equals(that.status) : that.status != null) return false;
        if (validDateEnd != null ? !validDateEnd.equals(that.validDateEnd) : that.validDateEnd != null) return false;
        if (validDateStart != null ? !validDateStart.equals(that.validDateStart) : that.validDateStart != null)
            return false;
        if (version != null ? !version.equals(that.version) : that.version != null) return false;
        if (workPassword != null ? !workPassword.equals(that.workPassword) : that.workPassword != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = userId;
        result = 31 * result + (mobile != null ? mobile.hashCode() : 0);
        result = 31 * result + (nickname != null ? nickname.hashCode() : 0);
        result = 31 * result + (password != null ? password.hashCode() : 0);
        result = 31 * result + (qq != null ? qq.hashCode() : 0);
        result = 31 * result + (invitationCode != null ? invitationCode.hashCode() : 0);
        result = 31 * result + (account != null ? account.hashCode() : 0);
        result = 31 * result + (niceAccount != null ? niceAccount.hashCode() : 0);
        result = 31 * result + (niceExpiredate != null ? niceExpiredate.hashCode() : 0);
        result = 31 * result + (workPassword != null ? workPassword.hashCode() : 0);
        result = 31 * result + (logo != null ? logo.hashCode() : 0);
        result = 31 * result + (lastLogintime != null ? lastLogintime.hashCode() : 0);
        result = 31 * result + (lastIp != null ? lastIp.hashCode() : 0);
        result = 31 * result + (createDate != null ? createDate.hashCode() : 0);
        result = 31 * result + (jinmi != null ? jinmi.hashCode() : 0);
        result = 31 * result + (mibao != null ? mibao.hashCode() : 0);
        result = 31 * result + (deposit != null ? deposit.hashCode() : 0);
        result = 31 * result + (status != null ? status.hashCode() : 0);
        result = 31 * result + (auditMemo != null ? auditMemo.hashCode() : 0);
        result = 31 * result + (prevId != null ? prevId.hashCode() : 0);
        result = 31 * result + (loginable != null ? loginable.hashCode() : 0);
        result = 31 * result + (iscert != null ? iscert.hashCode() : 0);
        result = 31 * result + (identity != null ? identity.hashCode() : 0);
        result = 31 * result + (isdummy != null ? isdummy.hashCode() : 0);
        result = 31 * result + (dummyExpire != null ? dummyExpire.hashCode() : 0);
        result = 31 * result + (isexamss != null ? isexamss.hashCode() : 0);
        result = 31 * result + (examssDate != null ? examssDate.hashCode() : 0);
        result = 31 * result + (isexamsj != null ? isexamsj.hashCode() : 0);
        result = 31 * result + (examsjDate != null ? examsjDate.hashCode() : 0);
        result = 31 * result + (isexamgl != null ? isexamgl.hashCode() : 0);
        result = 31 * result + (examglDate != null ? examglDate.hashCode() : 0);
        result = 31 * result + (isexamtbk != null ? isexamtbk.hashCode() : 0);
        result = 31 * result + (examtbkDate != null ? examtbkDate.hashCode() : 0);
        result = 31 * result + (fId != null ? fId.hashCode() : 0);
        result = 31 * result + (version != null ? version.hashCode() : 0);
        result = 31 * result + (region != null ? region.hashCode() : 0);
        result = 31 * result + (priKey != null ? priKey.hashCode() : 0);
        result = 31 * result + (jinmiLock != null ? jinmiLock.hashCode() : 0);
        result = 31 * result + (ismanaged != null ? ismanaged.hashCode() : 0);
        result = 31 * result + (realname != null ? realname.hashCode() : 0);
        result = 31 * result + (idnumber != null ? idnumber.hashCode() : 0);
        result = 31 * result + (birthday != null ? birthday.hashCode() : 0);
        result = 31 * result + (sex != null ? sex.hashCode() : 0);
        result = 31 * result + (nation != null ? nation.hashCode() : 0);
        result = 31 * result + (address != null ? address.hashCode() : 0);
        result = 31 * result + (organization != null ? organization.hashCode() : 0);
        result = 31 * result + (validDateStart != null ? validDateStart.hashCode() : 0);
        result = 31 * result + (validDateEnd != null ? validDateEnd.hashCode() : 0);
        result = 31 * result + (roomId != null ? roomId.hashCode() : 0);
        result = 31 * result + (isBankCert != null ? isBankCert.hashCode() : 0);
        result = 31 * result + isadmin;
        result = 31 * result + (authority != null ? authority.hashCode() : 0);
        return result;
    }

    @Basic
    @Column(name = "isblack")
    public Integer getIsblack() {
        return isblack;
    }

    public void setIsblack(Integer isblack) {
        this.isblack = isblack;
    }

    @Transient
    public RoomEntity getHouseEntity() {
        return houseEntity;
    }

    public void setHouseEntity(RoomEntity houseEntity) {
        this.houseEntity = houseEntity;
    }

    @Basic
    @Column(name = "re_name")
    public String getReName() {
        return reName;
    }

    public void setReName(String reName) {
        this.reName = reName;
    }

    @Basic
    @Column(name = "agent_id")
    public Integer getAgentId() {
        return agentId;
    }

    public void setAgentId(Integer agentId) {
        this.agentId = agentId;
    }

    @Basic
    @Column(name = "agent_lvl")
    public Integer getAgentLvl() {
        return agentLvl;
    }

    public void setAgentLvl(Integer agentLvl) {
        this.agentLvl = agentLvl;
    }

    @Basic
    @Column(name = "agent_prev_lvls")
    public String getAgentPrevLvls() {
        return agentPrevLvls;
    }

    public void setAgentPrevLvls(String agentPrevLvls) {
        this.agentPrevLvls = agentPrevLvls;
    }

    @Basic
    @Column(name = "biz_no")
    public String getBizNo() {
        return bizNo;
    }

    public void setBizNo(String bizNo) {
        this.bizNo = bizNo;
    }


    @Basic
    @Column(name = "mgt_charge")
    public BigDecimal getMgtCharge() {
        return mgtCharge;
    }

    public void setMgtCharge(BigDecimal mgtCharge) {
        this.mgtCharge = mgtCharge;
    }

    @Basic
    @Column(name = "agr_no")
    public String getAgrNo() {
        return agrNo;
    }

    public void setAgrNo(String agrNo) {
        this.agrNo = agrNo;
    }
}
